/**
 * Created by zhengJia on 2014/10/18.
 * 文章列表 基础js
 * 分页和内容
 */
function BaseList(fun,url)
{
    /**
     * 跳到pageIndex页
     * @param pageIndex
     */
    function reloadTableDate(pageIndex)
    {
        if(isNaN(pageIndex) || pageIndex <= 0)
        {
            pageIndex = 1;
        }
        pageIndex = new Number(pageIndex);
        $.ajax({
            type: "POST",
            url: url,
            data: {pageIndex:pageIndex},
            success: function(data){
                if(data != null)
                {
                    if(data.tableData != null && data.tableData.length > 0)//加载数据
                    {
                        var ulObj = $(".news-content-list");
                        var liList= "";
                        //<li><a href="/article/index.do"><span></span><span>郭广银同志参加第七期绵竹干部培…</span></a><span>[04-07]</span>
                        for(var i=0;i<data.tableData.length;i++)
                        {
                            var liObj = $("<li></li>")
                            fun(liObj,data.tableData[i],i);
                            liList = liList + "<li>"+$(liObj).html()+"</li>";
                        }
                        var pppp = getPageStr(data.pageCount,pageIndex);
                        liList = liList +pppp;
                        $(ulObj).html(liList);

                        //绑定分页按钮 点击事件
                        var aList = $(".news-content-list .pageList a");
                        if(aList && aList.length > 0)
                        {
                            //绑定中间的数字按钮
                            for(var i=2; i<(aList.length-2);i++)
                            {
                                var aObj = $(aList[i]);
                                var number = aObj.html();
                                //如果是数字的话代表这个按钮可以点击
                                if(!isNaN(number))
                                {
                                    aObj.click(function(){
                                        reloadTableDate($(this).html());
                                        return false;
                                    });
                                }
                            }
                            //绑定首页
                           $(aList[0]).click(function(){
                               if(pageIndex >= 2) {
                                   reloadTableDate(1);
                               }
                               return false;
                           });
                            //绑定上一页
                            $(aList[1]).click(function(){
                                if(pageIndex >= 2)
                                {
                                    reloadTableDate((pageIndex-1));
                                }
                                return false;
                            });
                            //绑定下一页
                            $(aList[(aList.length-2)]).click(function(){
                                if(pageIndex < (new Number(data.pageCount)))
                                {
                                    reloadTableDate((pageIndex+1));
                                }
                                return false;
                            });
                            //绑定尾页
                            $(aList[(aList.length-1)]).click(function(){
                                if(pageIndex < (new Number(data.pageCount)))
                                {
                                    reloadTableDate(data.pageCount);
                                }
                                return false;
                            });
                        }
                    }
                }
            }
        });

    }

    /**
     * 获取 分页html字符串
     * @param sum 总页数
     * @param index 当前所在页
     */
    function getPageStr(sum,index)
    {
        sum = Number(sum);
        index = Number(index);
        var out = "<li><div class='pageList'><a href='#'>首页</a><a href='#'>上一页</a>";
        var aList ="";
        if(sum != null && sum > 0 && index != null && index > 0)
        {
            var begin = 1;//显示的第一个页面号数
            var end = sum;//显示的第一个页面号数
            var beginNotEnd = false;//开始的页号不是1
            var endNotEnd = false;//最后的页号也没有显示完
            //如果页数大于20，则要采取措施了，不然页面放不下
            //策略就是在被选中的按钮 左右各放 10个
            if(sum>21){
                if(index>11)
                {
                    beginNotEnd = true;
                    begin = activeIndex-10;
                }
                if( (index+10) < sum)
                {
                    endNotEnd = true;
                    end = index+10;
                }
            }

            if(beginNotEnd)
            {
                aList = aList +"<span>...</span>";
            }
            for(var i=begin;i<=end;i++)
            {
                if(i == index)
                {
                    aList = aList +"<span>"+i+"</span>";
                }
                else{
                    aList = aList +"<a href='#'>"+i+"</a>";
                }
            }
            if(endNotEnd)
            {
                aList = aList +"<span>...</span>";
            }
        }
        out = out + aList;
        out = out + "<a href='#'>下一页</a><a href='#'>尾页</a></div></li>"
        return out;
    }
    //页面初始化时，加载数据
    reloadTableDate(1);
}